МІНІСТЕРСТВО ОСВІТИ І НАУКИ, УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Лабораторна робота №4
на тему: Моделювання класів
Львів 2014
Мета роботи: Освоїти моделювання класів в UML-діаграмах та їх побудову у конкретному середовищі.
Завдання:
Оволодіти навичками моделювання класів для UML-діаграм
Розробити діаграми класів для індивідуального завдання.
1. Теоретичні відомості
На діаграмах класів показані різноманітні класи, які утворюють систему, а також їх взаємозв’язки. Діаграми класів називають “статичними діаграмами”, оскільки на них показано класи разом з атрибутами і операціями (методами), а також статичний взаємозв’язок між ними: те, яким класам «відомо» про існування яких класів, і те, які класи «є частиною» інших класів, — але не показано методи, які при цьому викликаються.
Діаграми класів дозволяють:
На концептуальному рівні формувати «словник предметної області»;
На рівні специфікації і реалізації визначати структуру класів у програмній реалізації системи.
Діаграми класів можуть використовуватись для генерації каркасного програмного коду ( в реальній мові програмування).
Клас визначає атрибути і методи набору об’єктів. Всі об’єкти цього класу (екземпляри цього класу) мають спільну поведінку і однаковий набір атрибутів (кожен з об’єктів має свій власний набір значень).
В UML класи позначаються прямокутниками з назвою класу, у цих прямокутниках у вигляді двох “відсіків” може бути показано атрибути і операції (методи) класу:
/
Рис. 1 Наочне представлення класу у UML
Атрибути показуються щонайменше назвою. Також може бути показано їх тип, початкове значення і інші властивості. У синтаксисі мови UML це виглядає таким чином: <видимість> <ім'я>: <тип> = <значення за умовчанням>.
Області видимості атрибута:
+ відповідає публічним (public) атрибутам;
# відповідає захищеним (protected) атрибутам;
- відповідає приватним (private) атрибутам.
Операціями (методами) є процеси, що реалізовуються деяким класом. Вони також показуються принаймні назвою. Крім того, може бути показано їх параметри і типи значень, які буде повернуто. Повний синтаксис операцій в мові UML виглядає таким чином:
<видимість> <ім'я> (<список параметрів>): <вираз, який повертає значення типу> {<рядок властивостей>}.
Області видимості операції:
+ відповідає публічним (public) операціям;
# відповідає захищеним (protected) операціям;
- відповідає приватним (private) операціям.
Список параметрів містить розділені комою параметри, синтаксис яких аналогічний синтаксису атрибутів: <напрям> <ім'я>: <тип> = Значення за умовчанням>. При цьому додатковим елементом є напрям, який застосовується, щоб показати характер використання параметра - для входу (in), виходу (out) або в обох напрямах (inout). Якщо значення напряму відсутнє, воно передбачається вхідним (in).
Вираз, який повертає значення типу містить список розділених комою значень типів.
Рядок властивостей вказує значення властивостей, які застосовуються до даної операції.
Способи зв’язку класів
Класи можна співвіднести (пов’язати) один з одним у декілька способів:
Узагальнення.
Однією з фундаментальних основ об’єктно-орієнтованого програмування є наслідування. Нащадок отримує всі атрибути і операції батьківського класу і може перевизначити або змінювати деякі з них, а також додавати власні атрибути і операції.
У UML пов’язування Узагальнення між двома класами розташовує їх у вузлах ієрархії, яка відповідає концепції успадкування класу-нащадка від базового класу. У UML узагальнення буде показано у вигляді лінії, яка поєднує два класи, зі стрілкою, яку спрямовано від базового класу.
/
Рис. 2 Наочне представлення узагальнення у UML.
Асоціації.
Асоціація означає взаємозв’язок між класами, вона є базовим семантичним елементом і структурою для багатьох типів “з’єднань” між об’єктами.
Асоціації є тим механізмом, який надає об’єктам змогу обмінюватися даними між собою. Асоціація описує з’єднання між різними класами (з’єднання між дійсними об’єктами називається об’єктним з’єднанням, або зв’язком).
А...